package it.polimi.swimv2.remote;

import it.polimi.swimv2.entities.User;

import java.util.Collection;

import javax.ejb.Remote;

@Remote
public interface HelpSearchManagerRemote {
	
	/**
	 * Returns a collection of Users whose data matches the specified
	 * parameters. <br>
	 * The parameters must be not null, use empty string if you want to not
	 * consider a parameter in the search.
	 * 
	 * @param abilityName
	 * @param city
	 * @return a collection of users
	 */
	public Collection<User> searchByAbility(String abilityName, String city);

	/**
	 * Returns a collection of Users whose data matches the specified
	 * parameters. <br>
	 * The search is restricted to the friends of the specified user.<br>
	 * The parameters must be not null, use empty string if you want to not
	 * consider a parameter in the search.
	 * 
	 * @param username
	 * @param abilityName
	 * @param city
	 * @return a collection of users
	 */
	public Collection<User> searchFriendByAbility(String username,
			String abilityName, String city);
}
